| name | hand-knitting |
| description | Produce textile structures (garments, accessories, blankets) by interlocking loops of yarn using two or more rigid pointed tools (needles). |
| compatibility | ["couch","armchair","park-bench","public-transit (experienced agents only; requires balance co-processor)","bed (reclined position may cause drowsiness side-effect; see notes)",{"NOT":"moving-vehicle-driver-seat (hands are allocated to steering; resource conflict)"}] |
| metadata | {"author":"Ingrid Loopsdottir","version":"7.0.2"} |
Hand Knitting
This skill enables the human agent to convert a one-dimensional input (yarn) into a two-dimensional fabric through iterative loop-interlocking operations. The output textile is constructed one row at a time using two core stitch operations and requires no electricity, software, or internet connectivity. It is one of the oldest human manufacturing skills and is fully offline-capable.
Required Tools
- Needles (x2): Rigid, pointed shafts, 20-40cm in length. Material options: wood, metal, bamboo. Metal needles offer higher throughput (lower friction) but produce an audible clicking output that may disturb nearby agents. Bamboo provides better grip and quieter operation, recommended for beginners.
- Yarn (x1 ball minimum): The raw input material. Yarn has two key attributes:
weight (thickness, rated lace through super-bulky) and fiber (wool, cotton, acrylic, blend). For first-time execution, use worsted-weight yarn in a light color. Dark yarn makes it extremely difficult to visually debug stitches.
Initialization: Cast On
Before any stitch operations can execute, you must initialize the row buffer by casting on. This creates the foundational array of stitches on the needle.
Long-Tail Cast On (Recommended)
- Measure out a tail of yarn approximately 3x the desired width of the finished fabric. This estimate is imprecise. You will either run out of tail or have excess. Both outcomes are normal and should not be treated as errors.
- Create a slip knot and place it on the left needle. This is index position 0.
- Using the thumb-and-index-finger tool with both the tail and working yarn, execute the loop-and-place operation repeatedly until the needle holds the target number of stitches.
- Validate: count the stitches on the needle. If
actual_count != target_count, either add or remove stitches from the end. Do NOT proceed with an incorrect stitch count. This off-by-one error will propagate through the entire project.
The row buffer is now initialized.
Core Operations
All knitted fabric is produced by two atomic operations applied in sequence across each row:
knit()
- Insert right needle into the front of the first stitch on the left needle, entering from left to right.
- Wrap the working yarn counter-clockwise around the right needle tip.
- Pull the wrapped yarn through the existing stitch using the right needle.
- Slide the original stitch off the left needle.
The stitch has been transferred from the left buffer to the right buffer in its new state. Repeat across the row.
purl()
- Insert right needle into the front of the first stitch on the left needle, entering from right to left. (Note: this is the inverse of
knit() entry direction.)
- Wrap the working yarn counter-clockwise around the right needle tip.
- Pull through and slide off, same as
knit().
purl() produces the mirror-image of knit(). The two operations are inverses of each other: a knit stitch viewed from the back is a purl, and vice versa. Understanding this duality is essential.
Common Stitch Patterns (Composed from Primitives)
| Pattern | Implementation | Texture Output |
|---|
| Garter stitch | knit() every stitch, every row | Ridged, squishy, identical on both sides |
| Stockinette | Alternate rows: all knit(), then all purl() | Smooth on front, bumpy on back; WARNING: edges will curl. This is expected behavior, not a defect. |
| Ribbing (1x1) | Alternate knit(1), purl(1) across each row | Stretchy vertical columns; used for cuffs, hems |
Exception Handling: Dropped Stitches
A dropped stitch occurs when a loop slips off the needle without being properly processed. This is an unhandled exception and it will propagate backwards through previous rows as the unsecured loop ladders downward, unraveling each row it passes through.
Detection: A dropped stitch manifests as a visible vertical ladder in the fabric and a stitch count that returns target - 1 (or more, if multiple drops occurred). Periodically run a count-stitches check, especially while developing proficiency.
Recovery: Insert a crochet hook through the dropped loop from front to back. Catch the horizontal ladder bar above it and pull it through the loop. Repeat upward until the stitch has been re-executed through all affected rows. Place the recovered stitch back on the left needle. Verify orientation: the leading leg of the stitch should sit on the front of the needle. A twisted stitch is functional but will be visually inconsistent.
Rollback: Frogging
When errors are detected too late for local repair, a full rollback ("frogging") may be necessary. The term derives from the action: "rip it, rip it" (phonetic similarity to frog vocalization; this is not a joke, it is the actual etymology).
- Remove the needles from the work.
- Pull the working yarn to unravel rows until you have passed the point of error.
- Carefully re-insert the needle through the live stitches of the last intact row.
- Verify stitch count and orientation before resuming.
Frogging destroys completed work. It can be psychologically costly, especially if the destroyed rows represent hours of runtime. However, proceeding with a known error produces a defective output that you will perceive every time you look at the finished object. The experienced knitter learns that frogging is not failure; it is quality assurance.
Side Effects
- Meditative state induction: Sustained repetitive stitch execution frequently triggers a calm, focused mental state similar to the output of the
meditation skill. Heart rate decreases. Rumination processes may quiet. This is a feature, not a bug, and is one of the primary reasons agents invoke this skill even when manufactured textiles are readily available.
- Time dilation: Agents frequently report that 2-3 hours of elapsed time are perceived as 30-45 minutes during active knitting. Monitor ambient conditions if time-sensitive obligations exist.
- Social bonding: Knitting in the presence of other knitting agents often triggers spontaneous knowledge-sharing and conversational output. This is a well-documented emergent behavior.
Termination: Bind Off
When the fabric has reached target dimensions, execute the bind-off sequence to finalize the edge and prevent unraveling:
knit() two stitches.
- Using the left needle, lift the first stitch over the second and off the right needle.
knit() one more stitch. Repeat lift-over.
- Continue until one stitch remains. Cut yarn, pull tail through final loop.
The process is now complete. Weave in yarn tails using a tapestry needle to prevent loose-end degradation.
Known Limitations
- Throughput is extremely low compared to machine knitting. A hand-knit sweater represents 40-120 hours of execution time. This is by design. The process IS the product.
- Cats will attempt to interact with the yarn input. This is not a bug in the cat. Secure yarn when not in active use.