Skip to content

Commit deb628e

Browse files
kiro-powers: mirror SKILL.md — document API calls in objectives
Adds the 4th objective pattern (API call) and a "Calling APIs directly" section to the kane-cli run steering, matching the upstream SKILL.md change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent b3b2c44 commit deb628e

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

integrations/kiro-powers/steering/kane-cli-run.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ After every run: parse NDJSON, present a plain-language results card with any ex
3434

3535
---
3636

37-
# Writing objectives — three patterns
37+
# Writing objectives — four patterns
3838

3939
The objective string is the single most important input. It determines what the agent does.
4040

@@ -43,6 +43,7 @@ The objective string is the single most important input. It determines what the
4343
| 🎯 **Action** | "go to", "click", "type", "search", "fill", "scroll" | Performs browser actions |
4444
|**Assertion** | "assert", "verify", "confirm", "check that" | Validates a condition (pass / fail) |
4545
| 📦 **Extraction** | "store X as 'name'" | Reads a value from the page and persists it in `final_state` |
46+
| 🔌 **API call** | "call", "POST/GET a URL", a pasted `curl` | Makes the HTTP request itself; "save the response as X", then assert/reference `{{X.status}}` / `{{X.response_body…}}` |
4647

4748
## The "store as" pattern is mandatory for extraction
4849

@@ -64,6 +65,17 @@ Vague phrasing does **not** persist values. The agent may "see" them but they wi
6465
"go to example.com, store the headline as 'headline'"
6566
```
6667

68+
## Calling APIs directly
69+
70+
The agent can make API calls itself — not just observe the requests a page makes. Phrase an explicit call and name the response:
71+
72+
```
73+
"Call POST https://api.example.com/login with body {...}, save the response as login,
74+
assert {{login.status}} is 200"
75+
```
76+
77+
Reference the saved response as `{{login.status}}` and `{{login.response_body.<field>}}`; a pasted `curl` works too. API calls and browser actions mix in one objective — use a direct call to set up state (seed a record, hit a backend), and DevTools/Network (below) to **observe** the requests the page itself makes.
78+
6779
## Combining patterns
6880

6981
Chain action → extraction → assertion in a single objective:

0 commit comments

Comments
 (0)