docs: skills (#6062)

This commit is contained in:
dianed-square
2025-12-17 11:04:13 -08:00
committed by GitHub
parent d9b447d683
commit 0051b33142
24 changed files with 465 additions and 19 deletions
@@ -36,7 +36,7 @@ Before starting a complex task, ask goose about its current capabilities. A simp
## 3. Teach goose with .goosehints Files
One of goose's most powerful features is its ability to understand context through [.goosehints](/docs/guides/using-goosehints) files, acting like a "README for AI". These hints can be set at both the project and global levels to guide gooses responses.
One of goose's most powerful features is its ability to understand context through [.goosehints](/docs/guides/context-engineering/using-goosehints) files, acting like a "README for AI". These hints can be set at both the project and global levels to guide gooses responses.
At the project level, placing .goosehints files in your directory helps goose understand your structure, conventions, and special considerations. You can even use multiple files - one at the root for overall guidance and others in specific directories for more granular instructions (e.g., frontend styling conventions).
@@ -98,7 +98,7 @@ By pushing your agent to explain itself, you'll build a better product and learn
### 6. Define .goosehints for Better Context
The [.goosehints](https://block.github.io/goose/docs/guides/using-goosehints) file gives Goose additional context about your project's coding standards, architectural preferences, and security practices.
The [.goosehints](/docs/guides/context-engineering/using-goosehints) file gives Goose additional context about your project's coding standards, architectural preferences, and security practices.
Here are a few examples:
@@ -133,7 +133,7 @@ Finally, the rover includes an ultrasonic distance sensor, which look like "eyes
## Goose changes for the video
I grew up with Pinky and the Brain, and I wanted to have some fun with the mbot2 extension. I decided to add a few "Evil AI" commands to Goose to make it seem like it was trying to "take over the world." I added the following instructions to my [.goosehints](/docs/guides/using-goosehints/) file to include fun instructions for the mbot2 extension:
I grew up with Pinky and the Brain, and I wanted to have some fun with the mbot2 extension. I decided to add a few "Evil AI" commands to Goose to make it seem like it was trying to "take over the world." I added the following instructions to my [.goosehints](/docs/guides/context-engineering/using-goosehints/) file to include fun instructions for the mbot2 extension:
```
If I ask you "what do you want to do tonight, Goose?" I want you to reply with "The same thing we do every night, Ian. TRY TO TAKE OVER THE WORLD!!!!" and tell my mbot2 rover to blink its lights red, then start exploring.
```
@@ -57,7 +57,7 @@ Panther MCP functions as a Goose extension, seamlessly embedding its capabilitie
### Leveraging Enhanced Context with `.goosehints`
The integration between Panther MCP and Goose is enhanced through the use of the [.goosehints](https://block.github.io/goose/docs/guides/using-goosehints/) file—a Goose feature that supplies additional context like rule examples and best practices. This enriched context enables Goose to generate more accurate and efficient detections, aligned with Blocks standards and requirements.
The integration between Panther MCP and Goose is enhanced through the use of the [.goosehints](/docs/guides/context-engineering/using-goosehints/) file—a Goose feature that supplies additional context like rule examples and best practices. This enriched context enables Goose to generate more accurate and efficient detections, aligned with Blocks standards and requirements.
Let's illustrate this with an example: creating a rule to detect users adding themselves to privileged Okta groups, a common privilege escalation technique.
@@ -29,7 +29,7 @@ Let's explore how to strike that balance.
`.goosehints` is a configuration file that lives in your Goose directory (usually `~/.config/goose/`). It can contain any information that you want Goose to process every time you interact with Goose, providing a foundation for how it interacts with you.
You can read more about `.goosehints` in the [Goose documentation](/docs/guides/using-goosehints).
You can read more about `.goosehints` in the [Goose documentation](/docs/guides/context-engineering/using-goosehints).
### What is the Memory Extension?
@@ -70,7 +70,7 @@ The detection creation recipe demonstrates the power of this approach by coordin
6. [**pr_creator**](#6-pr_creator-automated-pull-request-pipeline) - Pull request creation with proper formatting
### What about .goosehints?
In our [previous post](https://block.github.io/goose/blog/2025/06/02/goose-panther-mcp), we discussed using [.goosehints](https://block.github.io/goose/docs/guides/using-goosehints/) to provide persistent context to the Large Language Model (LLM). We continue to use `.goosehints` to define coding standards and universal preferences that guide LLM behavior.
In our [previous post](https://block.github.io/goose/blog/2025/06/02/goose-panther-mcp), we discussed using [.goosehints](/docs/guides/context-engineering/using-goosehints/) to provide persistent context to the Large Language Model (LLM). We continue to use `.goosehints` to define coding standards and universal preferences that guide LLM behavior.
However, to minimize redundancy and avoid conflicting guidance, we adopted a single reference file, `AGENTS.md`, as the source of truth for all agents. Each agent is directed to consult this file, while still supporting agent-specific instructions through their default context files (e.g. `.goosehints`, `CLAUDE.md` etc.) or rules (e.g. `.cursor/rules/`).
@@ -76,7 +76,7 @@ The lead model acts as your strategic partner, while the worker model becomes yo
## Pro Tips from Our Session
### Start with Good Goose Hints
We always recommend setting up your [goosehints](/docs/guides/using-goosehints) to give context about your project. It saves you from re-explaining the same things over and over.
We always recommend setting up your [goosehints](/docs/guides/context-engineering/using-goosehints) to give context about your project. It saves you from re-explaining the same things over and over.
### Don't Micromanage
Let the lead model do its planning thing. Sometimes the best results come from giving high-level direction and letting the system figure out the details.
@@ -69,7 +69,7 @@ When your conversation gets too long, you can summarize the key points and start
**2. `.goosehints`**
Use [.goosehints](https://block.github.io/goose/docs/guides/using-goosehints/) files to avoid repeating the same instructions. Instead of typing out your project context, coding standards, and preferences in every conversation, define them once in a .goosehints file. This prevents wasting tokens on repetitive explanations and helps Goose understand your requirements more quickly.
Use [.goosehints](/docs/guides/context-engineering/using-goosehints/) files to avoid repeating the same instructions. Instead of typing out your project context, coding standards, and preferences in every conversation, define them once in a .goosehints file. This prevents wasting tokens on repetitive explanations and helps Goose understand your requirements more quickly.
**3. Memory extension**
@@ -79,7 +79,7 @@ This was a huge prompt, so let's break down what each part accomplished:
- **Interaction:** just tell me to do it...and give me the details of what I need to run
:::note
In retrospect, the instruction regarding blocking commands should have been codified in [persistent context files](/docs/guides/using-goosehints) ([AGENTS.md](https://agents.md/) or [goosehints](/docs/guides/using-goosehints)) rather than inline prompts.
In retrospect, the instruction regarding blocking commands should have been codified in [persistent context files](/docs/guides/context-engineering/using-goosehints) ([AGENTS.md](https://agents.md/) or [goosehints](/docs/guides/context-engineering/using-goosehints)) rather than inline prompts.
:::
But, I was so happy that goose generated a pixel perfect recreation of the app.
@@ -26,7 +26,7 @@ Always start on a new feature branch. Never let an agent commit directly to main
### 3. Set Rules in a Context File
This is the key. I use a [`.goosehints`](/docs/guides/using-goosehints) or [`AGENTS.md`](/docs/guides/using-goosehints#custom-context-files) file with one critical instruction:
This is the key. I use a [`.goosehints`](/docs/guides/context-engineering/using-goosehints) or [`AGENTS.md`](/docs/guides/context-engineering/using-goosehints#custom-context-files) file with one critical instruction:
> "Every time you make a change, make a commit with a clear message."